package com.etone.smartAudit.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.etone.smartAudit.domain.ItemSource;
import com.etone.smartAudit.dto.itemSource.DeviceResourceDTO;
import com.etone.smartAudit.enums.ItemSourceType;
import com.etone.smartAudit.vo.item.ItemSourceBaseVO;
import com.etone.smartAudit.vo.item.ItemSourceVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: 蒋学伟
 * @create: 2020-07-16 10:50:56
 * @Description 项目资源管理
 */
@Mapper
public interface ItemSourceMapper extends BaseMapper<ItemSource> {

    /**
     * 查找基本信息
     *
     * @param type
     * @param itemId
     * @param serverId
     * @return
     */
    List<ItemSourceBaseVO> findListItemSourceSimple(@Param("type") ItemSourceType type, @Param("itemId") Integer itemId, @Param("serverId") Integer serverId);

    /**
     * 查询完整信息
     *
     * @param name
     * @param type
     */
    List<ItemSourceVO> findListItemSource(@Param("name") String name, @Param("type") ItemSourceType type);

    /**
     * 增加申请次数
     *
     * @param ids
     * @param number
     * @return
     */
    int addApplyCnt(@Param("ids") List<Integer> ids, @Param("number") int number);

    /**
     * 更新设备租用信息
     *
     * @param deviceResourceDTOS
     */
    int updateItemDeviceResource(@Param("deviceResourceDTOS") List<DeviceResourceDTO> deviceResourceDTOS);

    /**
     * 查询设备是否到期
     *
     * @param id
     * @param itemId
     * @return
     */
    Boolean checkDeviceExpirationTime(@Param("id") Integer id, @Param("itemId") Integer itemId);
}
